class Blog < ApplicationRecord
  belongs_to :user
  # 有很多blogs_tags, class 名字 'BlogsTags'
  has_many :blogs_tags, class_name: 'BlogsTags'
  has_many :tags, through: :blogs_tags

  validates :title, presence: {message: '标题不能为空'}
  validates :content, presence: {message: '内容不能为空'}
  validates :user_id, presence: {message: '用户不能为空'}

  # 赋值方法 view 使用
  def tags_string= one_tags
    one_tags.split(',').each do |tag|
      one_tag = Tag.find_by(title: tag)
      one_tag = Tag.new(title: tag) unless one_tag
      # 博客就在当前范围
      self.tags << one_tag
    end
  end
end
